/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package progbalao;

import java.util.Scanner;

/**
 *
 * @author thiagoj
 */
public class Interface {

	/**
	 * Menu principal
	 *
	 * @return
	 */
	public static int menuPrincipal() {
		Scanner in = new Scanner(System.in);
		System.out.println("-----------------------------------------");
		System.out.println("|          Desafio dos baloes           |");
		System.out.println("-----------------------------------------");
		System.out.println("| 1 - Criar baloes                      |");
		System.out.println("| 2 - Indicar quais baloes sao vizinhos |");
		System.out.println("| 3 - Remover balao vizinho             |");
		System.out.println("| 4 - Movimentar balao                  |");
		System.out.println("| 5 - Imprimir coordenadas e vizinhos   |");
		System.out.println("| 6 - Imprimir todas as coordenadas     |");
		System.out.println("| 0 - Sair                              |");
		System.out.println("-----------------------------------------");
		System.out.print("Digite a opcao: ");
		return in.nextInt();


	}

	public static Balao criarBaloes() {

		return null;
	}

	/**
	 * Menu de escolha de baloes
	 *
	 * @param baloes
	 * @return
	 */
	public static int escolheDeBalao(Balao[] baloes) {
		Scanner in = new Scanner(System.in);
		System.out.println("-----------------------------------------");
		System.out.println("|            Escolha o balão            |");
		System.out.println("-----------------------------------------");
		for (Balao b : baloes) {
			if (b != null) {
				System.out.println(b.getId() + " - " + b.getCidade());
			}

		}

		System.out.print("Digite o ID do balao: ");


		return in.nextInt();
	}

	/**
	 * Escolhe o balão a leste.
	 *
	 * @param baloesLeste
	 * @return Retorna o ID do balao
	 */
	public static int indicarBaloesLeste(Balao[] baloesLeste, Balao balao) {
		Scanner in = new Scanner(System.in);
		int i = 0;
		System.out.println("-----------------------------------------");
		System.out.println("|    Escolha o balão do lado leste      |");
		System.out.println("-----------------------------------------");
		System.out.println(" Balao: " + balao.getCidade());

		for (Balao b : baloesLeste) {
			if (b != null) {
				i++;
				System.out.println(b.getId() + " - " + b.getCidade() + " Distancia: " + (int) b.getDistancia() + "m");
			}
		}

		if (i != 0) {
			System.out.print("Escolha o ID do balao: ");

			return in.nextInt();
		}

		return -1;

	}

	/**
	 * Escolhe o balao do oeste
	 *
	 * @param baloesOeste
	 * @return
	 */
	public static int indicarBaloesOeste(Balao[] baloesOeste, Balao balao) {
		Scanner in = new Scanner(System.in);
		int i = 0;
		
		System.out.println("-----------------------------------------");
		System.out.println("|    Escolha o balão do lado oeste      |");
		System.out.println("-----------------------------------------");
		System.out.println(" Balao: " + balao.getCidade());

		for (Balao b : baloesOeste) {
			if (b != null) {
				i++;
				System.out.println(b.getId() + " - " + b.getCidade() + " Distancia: " + (int) b.getDistancia() + "m");
			}
		}

		if (i != 0) {
			System.out.print("Escolha o ID do balao: ");

			return in.nextInt();
		}

		System.out.println("Nenhum vizinho encontrado: ");
		return -1;

	}

	/**
	 * Balao do leste
	 *
	 * @param balao
	 * @return
	 */
	public static void baloeVizinhoLeste(Balao balao) {
		Scanner in = new Scanner(System.in);
		String opcao;
		System.out.println("-----------------------------------------");
		System.out.println("|          Balao vizinho leste          |");
		System.out.println("-----------------------------------------");
		System.out.println("Balao: " + balao.getCidade());
		if (balao.getLeste() != null) {
			System.out.println("Balao leste: " + balao.getLeste().getCidade());
			System.out.print("Deseja apagar esse balao? S/N: ");
			opcao = in.next();
			if (opcao.equals("S")) {
				balao.getLeste().setOeste(null);
				balao.setLeste(null);
				
			}
		}


		

	}

	/**
	 * Baloe do oeste
	 *
	 * @param balao
	 * @return
	 */
	public static void baloeVisinhoOeste(Balao balao) {
		Scanner in = new Scanner(System.in);
		String opcao;
		System.out.println("-----------------------------------------");
		System.out.println("|         Balao vizinho oeste           |");
		System.out.println("-----------------------------------------");
		System.out.println("Balao: " + balao.getCidade());
		if (balao.getOeste() != null) {
			System.out.println("Balao oeste: " + balao.getOeste().getCidade());
			System.out.print("Deseja apagar esse balao? S/N: ");
			opcao = in.next();
			if (opcao.equals("S")) {
				balao.getOeste().setLeste(null);
				balao.setOeste(null);
				
			}
		}

		

	}

	public static int moverBalao() {
		Scanner in = new Scanner(System.in);
		String opcao;
		System.out.println("-----------------------------------------");
		System.out.println("|              Mover Balao              |");
		System.out.println("-----------------------------------------");
		System.out.println("| 1 - Mover para o leste                |");
		System.out.println("| 2 - Mover para o oeste                |");
		System.out.println("| 3 - Mover para cima                   |");
		System.out.println("| 4 - Mover para baixo                  |");
		System.out.println("-----------------------------------------");
		System.out.print("Digite a opcao: ");
		return in.nextInt();
	}

	public static void mostraValores(Balao balao) {
		System.out.println("-----------------------------------------");
		System.out.println("|        Informacoes do Balao           |");
		System.out.println("-----------------------------------------");
		System.out.println(" ID: " + balao.getId());
		System.out.println(" Cidade: " + balao.getCidade());
		System.out.println(" Latitude: " + balao.getLatitude());
		System.out.println(" Longitude: " + balao.getLongitude());
		System.out.println(" Altitude: " + balao.getAltitude());
		System.out.println(" Bateria: " + balao.getBateria());
		if (balao.getLeste() != null) {
			System.out.println("-----------------------------------------");
			System.out.println("|    Informacoes do Balao Leste         |");
			System.out.println("-----------------------------------------");
			System.out.println(" ID: " + balao.getLeste().getId());
			System.out.println(" Cidade: " + balao.getLeste().getCidade());
			System.out.println(" Latitude: " + balao.getLeste().getLatitude());
			System.out.println(" Longitude: " + balao.getLeste().getLongitude());
			System.out.println(" Altitude: " + balao.getLeste().getAltitude());
			System.out.println(" Bateria: " + balao.getLeste().getBateria());
		}
		if (balao.getOeste() != null) {
			System.out.println("-----------------------------------------");
			System.out.println("|    Informacoes do Balao Oeste         |");
			System.out.println("-----------------------------------------");
			System.out.println(" ID: " + balao.getOeste().getId());
			System.out.println(" Cidade: " + balao.getOeste().getCidade());
			System.out.println(" Latitude: " + balao.getOeste().getLatitude());
			System.out.println(" Longitude: " + balao.getOeste().getLongitude());
			System.out.println(" Altitude: " + balao.getOeste().getAltitude());
			System.out.println(" Bateria: " + balao.getOeste().getBateria());
		}

		

	}
	public static void imprimirCordenadas(Balao balao){
			System.out.println("Balao: "+ balao.getCidade());
			System.out.println("Coordenadas:");
			System.out.println("Latitude: "+ balao.getLatitude());
			System.out.println("Longitude: "+ balao.getLongitude());
			System.out.println("Altitude: "+ balao.getAltitude());
			System.out.println("");
		}
}
